Chapterá1.áIntroduction

Table of Contents

1.1. Virtualization basics
1.2. Software vs. hardware virtualization (VT-x and AMD-V)
1.3. Features overview
1.4. Supported host operating systems
1.5. Supported guest operating systems
1.6. 64-bit guests

Sun xVM VirtualBox is a collection of powerful virtual machine tools, targeting desktop computers, enterprise servers and embedded systems. With VirtualBox, you can virtualize 32-bit and 64-bit operating systems on machines with Intel and AMD processors, either in software or with hardware virtualization (see Sectioná1.4, “Supported host operating systems”).

You can find a brief feature overview in Sectioná1.3, “Features overview”; see Chapterá12, Change log for a detailed list of version changes.

1.1.áVirtualization basics

With VirtualBox, you can run unmodified operating systems -- including all of the software that is installed on them -- directly on top of your existing operating system, in a special environment that is called a "virtual machine". Your physical computer is then usually called the "host", while the virtual machine is often called a "guest".

The following image shows you how VirtualBox, on a Linux host, is running Windows Vista as guest operating system in a virtual machine window:

VirtualBox allows the guest code to run unmodified, directly on the host computer, and the guest operating system "thinks" it's running on real machine. In the background, however, VirtualBox intercepts certain operations that the guest performs to make sure that the guest does not interfere with other programs on the host.

The techniques and features that VirtualBox provides are useful for several scenarios:

  • Operating system support. With VirtualBox, one can run software written for one operating system on another (for example, Windows software on Linux) without having to reboot to use it. You can even install in a virtual machine an old operating system such as DOS or OS/2 if your real computer's hardware is no longer supported.

  • Infrastructure consolidation. Virtualization can significantly reduce hardware and electricity costs. The full performance provided by today's powerful hardware is only rarely really needed, and typical servers have an average load of only a fraction of their theoretical power. So, instead of running many such physical computers that are only partially used, one can pack many virtual machines onto a few powerful hosts and balance the loads between them. With VirtualBox, you can even run virtual machines as mere servers for the VirtualBox Remote Desktop Protocol (VRDP), with full client USB support. This allows for consolidating the desktop machines in an enterprise on just a few RDP servers, while the actual clients will only have to be able to display VRDP data any more.

  • Testing and disaster recovery. Once installed, a virtual box and its virtual hard disk can be considered a "container" that can be arbitrarily frozen, woken up, copied, backed up, and transported between hosts. On top of that, with the use of another VirtualBox feature called "snapshots", one can save a particular state of a virtual machine and revert back to that state, if necessary. This way, one can freely experiment with a computing environment. If something goes wrong (e.g. after installing misbehaving software or infecting the guest with a virus), one can easily switch back to a previous snapshot and avoid the need of frequent backups and restores.

When dealing with virtualization (and also for understanding the following chapters of this documentation), it helps to acquaint oneself with a bit of crucial terminology, especially the following terms:

Host operating system (host OS):

the operating system of the physical computer where VirtualBox is running. There are versions of VirtualBox for several host operating systems (see Sectioná1.4, “Supported host operating systems” for further information). While the various VirtualBox versions are usually discussed together in this document, there may be platform-specific differences which we will point out where appropriate.

Guest operating system (guest OS):

the operating system that is running inside the virtual machine. Theoretically, VirtualBox can run any x86 operating system (DOS, Windows, OS/2, FreeBSD, OpenBSD), but to achieve near-native performance of the guest code on your machine, we had to go through a lot of optimizations that are specific to certain operating systems. So while your favorite operating system may run as a guest, we officially support and optimize for a select few (which, however, include the most common ones).

See Sectioná1.5, “Supported guest operating systems” for further information.

Virtual machine (VM).

When running, a VM is the special environment that VirtualBox creates for your guest operating system. So, in other words, you run your guest operating system "in" a VM. Normally, a VM will be shown as a window on your computer's desktop, but depending on which of the various frontends of VirtualBox you use, it can be displayed in full-screen mode or remotely by use of the Remote Desktop Protocol (RDP).

Sometimes we also use the term "virtual machine" in a more abstract way. Internally, VirtualBox thinks of a VM as a set of parameters that determine its operation. These settings are mirrored in the VirtualBox graphical user interface as well as the VBoxManage command line program; see Chapterá8, VBoxManage reference. They include hardware settings (how much memory the VM should have, what hard disks VirtualBox should virtualize through which container files, what CD-ROMs are mounted etc.) as well as state information (whether the VM is currently running, saved, its snapshots etc.).

In other words, a VM is also what you can see in its settings dialog.

Guest Additions.

With "Guest Additions", we refer to special software packages that are shipped with VirtualBox. Even though they are part of VirtualBox, they are designed to be installed inside a VM to improve performance of the guest OS and to add extra features. This is described in detail in Chapterá4, The VirtualBox Guest Additions.